'\" te
.\"  Copyright 1989 AT&T Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH TUNEFS 8 "Dec 5, 2003"
.SH NAME
tunefs \- tune an existing UFS file system
.SH SYNOPSIS
.LP
.nf
\fBtunefs\fR [\fB-a\fR \fImaxcontig\fR] [\fB-d\fR \fIrotdelay\fR] [\fB-e\fR \fImaxbpg\fR]
     [\fB-m\fR \fIminfree\fR] [\fB-o\fR space | time] \fIspecial\fR | \fIfilesystem\fR
.fi

.SH DESCRIPTION
.sp
.LP
\fBtunefs\fR is designed to change the dynamic parameters of a file system that
affect the layout policies. When using \fBtunefs\fR with \fIfilesystem\fR,
\fIfilesystem\fR must be in \fB/etc/vfstab\fR. The parameters that can be
changed are indicated by the options given below.
.SH OPTIONS
.sp
.LP
The following options are supported:
.sp
.ne 2
.na
\fB\fB-a\fR \fImaxcontig\fR\fR
.ad
.RS 21n
The maximum number of logical blocks, belonging to one file, that is allocated
contiguously. The default is calculated as follows:
.sp
.in +2
.nf
\fBmaxcontig =\fR \fIdisk drive maximum transfer size / disk block size\fR
.fi
.in -2
.sp

If the disk drive's maximum transfer size cannot be determined, the default
value for \fBmaxcontig\fR is calculated from kernel parameters as follows:
.sp
If \fBmaxphys\fR is less than \fBufs_maxmaxphys\fR, which is 1 Mbyte, then
\fBmaxcontig\fR is set to \fBmaxphys\fR. Otherwise, \fBmaxcontig\fR is set to
\fBufs_maxmaxphys\fR.
.sp
You can set \fBmaxcontig\fR to any positive integer value.
.sp
The actual value will be the lesser of what has been specified and what the
hardware supports.
.RE

.sp
.ne 2
.na
\fB\fB-d\fR \fIrotdelay\fR\fR
.ad
.RS 21n
This parameter is obsolete as of the Solaris 10 release. The value is always
set to \fB0\fR, regardless of the input value.
.RE

.sp
.ne 2
.na
\fB\fB-e\fR \fImaxbpg\fR\fR
.ad
.RS 21n
Indicates the maximum number of contiguous logical blocks any single file can
allocate from a cylinder group before it is forced to begin allocating blocks
from another cylinder group. Typically this value is set to approximately one
quarter of the total contiguous logical blocks in a cylinder group. The intent
is to prevent any single file from using up all the blocks in a single cylinder
group, thus degrading access times for all files subsequently allocated in that
cylinder group.
.sp
The effect of this limit is to cause big files to do long seeks more frequently
than if they were allowed to allocate all the blocks in a cylinder group before
seeking elsewhere. For file systems with exclusively large files, this
parameter should be set higher.
.RE

.sp
.ne 2
.na
\fB\fB-m\fR \fIminfree\fR\fR
.ad
.RS 21n
Specifies the minimum free space threshold, or the percentage of space held
back from normal users. This value can be set to \fB0\fR. However, up to a
factor of three in throughput will be lost over the performance obtained at a
10% threshold. \fINote:\fR If the value is raised above the current usage
level, users will be unable to allocate files until enough files have been
deleted to get under the higher threshold.
.RE

.sp
.ne 2
.na
\fB\fB-o\fR\fI space\fR\||\|\fItime\fR\fR
.ad
.RS 21n
The file system can either be instructed to try to minimize the \fBtime\fR
spent allocating blocks, or to try to minimize the \fBspace\fR fragmentation on
the disk. The default is \fItime\fR.
.sp
Generally, you should optimize for time unless the file system is over 90%
full.
.RE

.SH USAGE
.sp
.LP
See \fBlargefile\fR(7) for the description of the behavior of \fBtunefs\fR when
encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
.SH SEE ALSO
.sp
.LP
.BR attributes (7),
.BR largefile (7),
.BR mkfs_ufs (8),
.BR newfs (8)
